package service;

import java.util.HashMap;
import java.util.UUID;

public class GerenciadorSessao {
	
	private HashMap<String, String> mapeadorSessao;
	
	/**
	 * 
	 *Construtor Simples de GerenciadorSessao
	 */
	public GerenciadorSessao() {
		mapeadorSessao = new HashMap<String,String>();
	}

	/**
	 * Abre uma sessao de um ususario
	 * 
	 * @param email Email do ususario que vai ter sessao aberta
	 * 
	 * @return Id para identificacao da sessao
	 * 
	 */
	public String abrirSessao(String email) {
		
		String idSessao = UUID.randomUUID().toString();
		mapeadorSessao.put(idSessao, email);
		return idSessao;
	
	}

	/**
	 * 
	 * Verifica se uma sess�o est� aberta, ou existe, retornando uma boolean.
	 * 
	 * @param idSessao Id da sessao a ser verificado existencia
	 * @return True caso sess�o esteja aberta, False caso contr�rio
	 */
	public boolean sessaoValida(String idSessao) {
		
		return mapeadorSessao.containsKey(idSessao);
	}

	/**
	 * Retorna o email do usuario referente a uma sessao
	 * 
	 * @param idSessao Id da sessao da qual se quer retornar o e-mail do usuario
	 * @return Email do usuario
	 */
	public String getEmailUsuario(String idSessao) {
		
		return (String)(mapeadorSessao.get(idSessao));
	}
	


}
